@邪恶贝壳
2年前 提问
1个回答

对端口扫描的方法有哪些

帅末
2年前

对端口扫描的方法:

  • 完全连接扫描:完全连接扫描利用TCP/IP协议的三次握手连接机制,使源主机和目的主机的某个端口建立一次完整的连接。如果建立成功,则表明该端口开放。否则,表明该端口关闭。

  • 半连接扫描:半连接扫描是指在源主机和目的主机的三次握手连接过程中,只完成前两次握手,不建立一次完整的连接。

  • SYN扫描:首先向目标主机发送连接请求,当目标主机返回响应后,立即切断连接过程,并查看响应情况。如果目标主机返回ACK信息,表示目标主机的该端口开放。如果目标主机返回RESET信息,表示该端口没有开放。

  • ID头信息扫描:这种扫描方法需要用一台第三方机器配合扫描,并且这台机器的网络通信量要非常少,即dumb主机。首先由源主机dumb主机发出连续的PING数据包,并且查看主机返回的数据包ID头信息。一般而言,每个顺序数据包的ID头的值会增加。然后由源主机假冒主机B的地址向目的主机C的任意端口(1-65535)发送SYN数据包。这时,主机C向主机B发送的数据包有两种可能的结果。

  • 隐蔽扫描:隐蔽扫描是指能够成功地绕过IDS、防火墙和监视系统等安全机制,取得目标主机端口信息的一种扫描方式。

  • SYNIACK扫描:由源主机向目标主机的某个端口直接发送SYNIACK数据包,而不是先发送SYN数据包。由千这种方法不发送SYN数据包,目标主机会认为这是一次错误的连接,从而会报错。如果目标主机的该端口没有开放,则会返回RST信息。如果目标主机的该端口处于开放状态(LISTENING),则不会返回任何信息,而是直接将这个数据包抛弃掉。

  • FIN扫描:源主机A向目标主机B发送FIN数据包,然后查看反馈信息。如果端口返回RESET信息,则说明该端口关闭。如果端口没有返回任何信息,则说明该端口开放。

  • ACK扫描:首先由主机A向目标主机B发送FIN数据包,然后查看反馈数据包的TTL值和WIN值。开放端口所返回的数据包的TTL值一般小于64,而关闭端口的返回值一般大于64。开放端口所返回的数据包的WIN般大千0,而关闭端口的返回值一般等于0。

  • NULL扫描:将源主机发送的数据包中的ACKFINRSTSYNURGPSH等标志位全部置空。如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。

  • XMAS扫描:XMAS扫描的原理和NULL扫描相同,只是将要发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等头标志位全部置空。如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。